829edec21f805cdc8fea2993561ac4e77994f647,protostuff-parser/src/main/java/io/protostuff/parser/ProtoParser.java,ProtoParser,service_block,#Proto#Message#,5514
Before Change
return retval;
if (state.backtracking == 0)
{
SERVICE137_tree = (Object) adaptor.create(SERVICE137);
adaptor.addChild(root_0, SERVICE137_tree);
}
ID138 = (Token) match(input, ID, FOLLOW_ID_in_service_block2272);
if (state.failed)
return retval;
if (state.backtracking == 0)
{
ID138_tree = (Object) adaptor.create(ID138);
adaptor.addChild(root_0, ID138_tree);
}
if (state.backtracking == 0)
{
service = new Service((ID138 != null ? ID138.getText() : null), message, proto);
proto.addAnnotationsTo(service);
}
LEFTCURLY139 = (Token) match(input, LEFTCURLY, FOLLOW_LEFTCURLY_in_service_block2276);
if (state.failed)
return retval;
if (state.backtracking == 0)
{
LEFTCURLY139_tree = (Object) adaptor.create(LEFTCURLY139);
adaptor.addChild(root_0, LEFTCURLY139_tree);
}
// io/protostuff/parser/ProtoParser.g:566:9: ( service_body[proto, service] )+
int cnt27 = 0;
loop27: do
{
int alt27 = 2;
switch (input.LA(1))
{
case AT:
case OPTION:
case RPC:
{
alt27 = 1;
}
break;
}
switch (alt27)
{
case 1:
// io/protostuff/parser/ProtoParser.g:566:10: service_body[proto, service]
{
pushFollow(FOLLOW_service_body_in_service_block2287);
service_body140 = service_body(proto, service);
state._fsp--;
if (state.failed)
return retval;
if (state.backtracking == 0)
adaptor.addChild(root_0, service_body140.getTree());
}
break;
default:
if (cnt27 >= 1)
break loop27;
if (state.backtracking > 0)
{
state.failed = true;
return retval;
}
EarlyExitException eee =
new EarlyExitException(27, input);
throw eee;
}
cnt27++;
} while (true);
RIGHTCURLY141 = (Token) match(input, RIGHTCURLY, FOLLOW_RIGHTCURLY_in_service_block2292);
if (state.failed)
return retval;
if (state.backtracking == 0)
{
RIGHTCURLY141_tree = (Object) adaptor.create(RIGHTCURLY141);
adaptor.addChild(root_0, RIGHTCURLY141_tree);
}
// io/protostuff/parser/ProtoParser.g:566:52: ( ( SEMICOLON )? )
// io/protostuff/parser/ProtoParser.g:566:53: ( SEMICOLON )?
After Change
SERVICE141=(Token)match(input,SERVICE,FOLLOW_SERVICE_in_service_block2326); if (state.failed) return retval;
if ( state.backtracking==0 ) {
SERVICE141_tree = (Object)adaptor.create(SERVICE141);
adaptor.addChild(root_0, SERVICE141_tree);
}
ID142=(Token)match(input,ID,FOLLOW_ID_in_service_block2328); if (state.failed) return retval;
if ( state.backtracking==0 ) {
ID142_tree = (Object)adaptor.create(ID142);
adaptor.addChild(root_0, ID142_tree);
}
if ( state.backtracking==0 ) {
service = new Service((ID142!=null?ID142.getText():null), message, proto);
proto.addAnnotationsTo(service);
}
LEFTCURLY143=(Token)match(input,LEFTCURLY,FOLLOW_LEFTCURLY_in_service_block2332); if (state.failed) return retval;
if ( state.backtracking==0 ) {
LEFTCURLY143_tree = (Object)adaptor.create(LEFTCURLY143);
adaptor.addChild(root_0, LEFTCURLY143_tree);
}
// io/protostuff/parser/ProtoParser.g:589:9: ( service_body[proto, service] )+
int cnt27=0;
loop27:
do {
int alt27=2;
switch ( input.LA(1) ) {
case AT:
case OPTION:
case RPC:
case DOC:
{
alt27=1;
}
break;
}
switch (alt27) {
case 1 :
// io/protostuff/parser/ProtoParser.g:589:10: service_body[proto, service]
{
pushFollow(FOLLOW_service_body_in_service_block2343);
service_body144=service_body(proto, service);
state._fsp--;
if (state.failed) return retval;
if ( state.backtracking==0 ) adaptor.addChild(root_0, service_body144.getTree());
}
break;
default :
if ( cnt27 >= 1 ) break loop27;
if (state.backtracking>0) {state.failed=true; return retval;}
EarlyExitException eee =
new EarlyExitException(27, input);
throw eee;
}
cnt27++;
} while (true);
RIGHTCURLY145=(Token)match(input,RIGHTCURLY,FOLLOW_RIGHTCURLY_in_service_block2348); if (state.failed) return retval;
if ( state.backtracking==0 ) {
RIGHTCURLY145_tree = (Object)adaptor.create(RIGHTCURLY145);
adaptor.addChild(root_0, RIGHTCURLY145_tree);
}
// io/protostuff/parser/ProtoParser.g:589:52: ( ( SEMICOLON )? )